Motion control assembly with battery pack

ABSTRACT

A motion control assembly includes a motion control device electrically connected to a battery pack and to a mobile computing device for at least data transmission therebetween. The motion control device can generate inputs, such as inputs corresponding to an attribute of a sensed object, for transmission to the mobile computing device. The drain on a battery of a battery-powered mobile computing device can be reduced when used with a motion control device as follows. A motion control assembly, comprising a motion control device and a battery pack, capable of powering the motion control device, as an integral, one-piece unit, is selected. The motion control device is connected to an electrical connector of a battery-powered mobile computing device. The motion control device is supplied with power from the battery pack during use so the motion control device can be operated using the power from the battery pack.

CROSS-REFERENCE TO OTHER APPLICATIONS

This application claims the benefit of U.S. provisional patentapplication No. 61/924,088, filed 6 Jan. 2014, entitled Motion ControlAssembly with Battery Pack.

BACKGROUND

Motion control devices have been developed to allow a user to provideinput to a computing device, such as a desktop computer, a laptopcomputer, or a pad computer, without the need for physical interactionwith an input device, such as a keyboard, a computer mouse, atouchscreen interface, or a laser pointer used with aradiation-sensitive screen. One example of a motion control device isthat sold by Leap Motion, Inc. of San Francisco, Calif., as the LeapMotion Controller. It can create three-dimensional images of a user'shands and fingers to permit input to the computing device without theneed for physical contact. Briefly, it includes a pair of cameras foracquiring images of an object, a number of LED light source used toilluminate the object, and a computer for processing the images toidentify and/or characterize the object. A computer display may be usedfor displaying information related to the identified/characterizedobject. Another motion control device is Kinect from MicrosoftCorporation, for game consoles and computers. Other motion controldevices have been developed for game consoles, including Wii Remote Plusfor Wii from Nintendo Corporation, and PlayStation Camera forPlayStation 4 from Sony Computer Entertainment.

SUMMARY OF THE TECHNOLOGY DISCLOSED

The technology disclosed relates to a substitute motion control assemblyfor use with a mobile computing device and a method for reducing thedrain on the battery of a battery-powered mobile computing device whenused with a motion control assembly.

An implementation of a motion control assembly is usable with a mobilecomputing device of the type having a computing device electricalconnector. The motion control assembly includes a motion control device,a battery pack connected to the motion control device to supply powerthereto, and a coupler to electrically connect the motion control deviceto the computing device electrical connector for at least datatransmission between.

Implementations of the motion control assembly can include one or moreof the following. The motion control device can generate inputs fortransmission to the mobile computing device; the inputs can correspondto an attribute of a sensed object. The battery pack and the motioncontrol device can be separate components or they can form an integralunit. The motion control assembly can include a protective caseconfigured for mounting to a mobile computing device, with a portion ofthe protective case carrying the motion control device, battery pack andcoupler as a one-piece unit. The motion control device can include anobjects of interest determiner to detect the existence of a low powerrequired condition, and a command engine to provide instructions to atleast one of an emission module and a detection module indicating a lowpower mode of operation is to be entered. An environmental filter can beused to provide environmental information comprising an input powerlevel and power source type to the command engine. The motion controldevice can adapt detection of objects to at least one of an input powerlevel and a power source type.

An implementation of a first method for reducing the drain on a batteryof a battery-powered mobile computing device when used with a motioncontrol device is carried out as follows. A motion control assembly,comprising a motion control device and a battery pack as an integral,one-piece unit, is selected, the motion control device being capable ofbeing powered by the battery pack. The motion control device isconnected to an electrical connector of a battery-powered mobilecomputing device. The motion control device is supplied with power fromthe battery pack during use of the motion control device. The motioncontrol device can be operated using the power from the battery pack.

Implementations of the first drain reducing method can include one ormore of the following. The motion control assembly selecting step caninclude selecting a rechargeable battery pack. The method can furthercomprise supplying energy to the battery pack using at least one of arecharging cable, a solar panel, and an inductive charger. The motioncontrol device operating step can be carried out with the motion controldevice using no power from the mobile computing device. The method canfurther include determining if a low power required condition exists,and if so provide instructions, by a command engine of the motioncontrol assembly, to at least one of an emission module and a detectionmodule of the motion control assembly indicating a low power mode ofoperation is to be entered; environmental information, comprising aninput power level and power source type, can be provided to the commandengine. Detection of objects can be adapted to at least one of an inputpower level and a power source type.

An implementation of a second example of a method for reducing the drainon a battery of a battery-powered mobile computing device when used witha motion control device is carried out as follows. A motion controlassembly, comprising a motion control device and a battery pack as anintegral, one-piece unit, is provided, with the motion control devicebeing capable of being powered by the battery pack. A user is instructedto (1) connect the motion control device to an electrical connector of abattery-powered mobile computing device, and (2) operate the motioncontrol device with power from the battery pack during use of the motioncontrol device.

Implementations of the second drain reducing method can include one ormore the following. The motion control assembly providing step caninclude selecting a rechargeable battery pack. The method can furtherinclude supplying energy to the battery pack using at least one of arecharging cable, a solar panel, and an inductive charger. The motioncontrol device operating step can be carried out with the motion controldevice using no power from the mobile computing device. The motioncontrol device operating step can further include (1) determining if alow power required condition exists, and (2) if such condition exists,provide instructions, by a command engine of the motion controlassembly, to at least one of an emission module and a detection moduleof the motion control assembly indicating a low power mode of operationis to be entered. The motion control device operating step can furtherinclude providing environmental information, comprising an input powerlevel and power source type, to the command engine. Detection of objectscan be adapted to at least one of an input power level and a powersource type.

Other features, aspects and advantages of implementations of thisdisclosure can be seen on review the drawings, the detailed description,and the claims which follow.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram illustrating a motion control assemblyused with a mobile computing device.

FIG. 2A is an isometric view of one example of a smart phone type ofmobile computing device.

FIG. 2B illustrates an example of a motion control assembly including atwo-piece protective case shown mounted to the smart phone type ofmobile computing device of FIG. 2A.

FIG. 2C is an exploded isometric view of the motion control assembly ofFIG. 2B.

FIG. 3 shows another example of a motion control assembly with themotion control device and battery pack separated from the smart phonetype of mobile computing device.

FIG. 4 shows an embodiment of a detection system including variouscomponents of the detection system along with objects within an area ofinterest.

FIG. 5 illustrates an emission module showing different examples ofmaterials or devices used with the emitters of the emission module.

FIG. 6 shows a detection module including capture devices coupled withdifferent types of devices and/or material, such as lenses and imagedirecting film, for capturing images of and information about an object.

FIG. 7 is a flow diagram of a variation determination system, aninteraction system and an application control system.

FIG. 8 illustrates prediction information including a model of thecontrol object.

FIG. 9 shows sets of points in space created by the intersection oflines surrounding a cross-section of the object.

FIG. 10 illustrates a three-dimensional virtual construct relative to akeyboard and computer screen so that movement into and out of aparticular region indicates control or other useful information.

FIG. 11 illustrates a more simplified virtual construct in a regionforward of a computer screen.

FIG. 12 illustrates a flowchart of an example drain reducing method inan embodiment.

DESCRIPTION

The following description will typically be with reference to specificstructural embodiments and methods. It is to be understood that there isno intention to limit the disclosed technology to the specificallydisclosed embodiments and methods but that the disclosed technology maybe practiced using other features, elements, methods and embodiments.Some of the many features and benefits of the disclosed technology areillustrated with reference to disclosed embodiments, however it isunderstood that the embodiments disclosed are merely examples and do notlimit the scope of the technology disclosed. Those of ordinary skill inthe art will recognize a variety of equivalent variations on thedescription that follows. Unless otherwise stated, in this applicationspecified relationships, such as parallel to, aligned with, or in thesame plane as, mean that the specified relationships are withinlimitations of manufacturing processes and within manufacturingvariations. When components are described as being coupled, connected,being in contact or contacting one another, they need not be physicallydirectly touching one another unless specifically described as such.Like elements in various embodiments are commonly referred to with likereference numerals.

Aspects of the systems and methods described herein provide fordetermining positional information (e.g., location, and/or orientation)for at least a portion of a target object within a field of view. Amongother aspects, embodiments can enable objects and/or features of anobject surface to be automatically (e.g. programmatically) determinedusing positional information in conjunction with receiving input,commands, communications and/or other user-machine interfacing,gathering information about objects, events and/or actions existing oroccurring within an area being explored, monitored, or controlled,and/or combinations thereof.

Many motion control devices are powered through the computing devicewith which they are used, typically through a USB or other type dataconnection providing both power to the motion control device and datatransfer between the computing device and the motion control device.While computation-intensive motion control devices, such as the LeapMotion Controller referred to above, are well-suited for use withdesktop computers and other computing devices connected to an electricoutlet, when used with a battery-powered computing device they can drawdown the battery of the computing device at an undesirable rate. Motioncontrol assembly 10 of FIG. 1, discussed below, address this problem.

A motion control assembly 10 is shown in FIG. 1 to include a motioncontrol device 12, also referred to below as a Machine Sensory andControl System (MSCS), connected to and powered by a battery pack 14through a connection 16. The batteries within battery pack 14 can beremovable and replaceable. Also, assembly 10 can include a rechargingcable 18 when battery pack 14 is a rechargeable battery pack. In someexamples, the motion control device 12 can be powered by two or moresources. For example, instead of or in addition to recharging cable 18,assembly 10 can include a solar panel 19 for recharging battery pack 14,or supplying power to motion control device 12, or both. Also, batterypack 14 can also be recharged using an inductive charger 21. In someexamples, assembly 10 can switch between available power sources basedupon the perceived availability of power from each source. Assembly 10also includes a coupler 20 used to connect assembly 10 to a mobilecomputing device 22. Coupler 20 is used for data transmission betweenmotion control device 12 and mobile computing device 22. In someexamples, coupler 12 can also be used to transmit electric current frombattery pack 14 to mobile computing device 22 according to the amount ofillumination required to be created by motion control assembly 10

In some examples, the level of charge of battery pack 14 can beindicated by motion control assembly 10, such as through the use of aseries of different colored lights which are illuminated according tothe charge level, or through the use of a light which blinks and offaccording to the charge level. The charge level could also be providedto mobile computing device 22 for display by the mobile computingdevice. In some examples, motion control assembly 10 can select the rateat which charge is drawn from battery pack 14 according to the amount ofillumination required to be created by motion control assembly 10 basedin part on properties of the tracked object, such as how fast thetracked object is moving, where the tracked object is, the amount ofambient light, etc.

Mobile computing device 22 is a battery-powered computing device and canbe, for example, a laptop computer, a tablet or pad computer, what iscommonly referred to as a smart phone, or a smart watch. While mobilecomputing device 22 is battery-powered, many mobile computing devices 22can be used while connected to an electric outlet so as not to rely onbattery power alone. However, when mobile computing device 22 is not orcannot be connected to an electrical outlet, battery pack 14 helps toeliminate or at least reduce the premature exhaustion of the batterywithin mobile computing device 22 during use of motion control device12. In some examples, battery pack 14 can be used to supply current notonly to motion control device 12 but also to mobile computing device 22.In some examples, this can occur with or without recharging cable 18connected to an electrical outlet. In some examples, battery pack 14 cansupply current to mobile computing device 22 only when mobile controldevice 12 is not being used while in other examples, current can besupplied by battery pack 14 to both motion control device 12 and mobilecomputing device 22 during use of motion control device 12.

FIG. 2A is an isometric view of one example of a smart phone type ofmobile computing device 22. FIG. 2B illustrates one example of a motioncontrol assembly 10 used with the smart phone type of mobile computingdevice 22 of FIG. 2A. Motion control assembly 10 includes a two-pieceprotective case 24, see FIG. 2C, including a main portion 26, withmotion control device 12, battery pack 14 and coupler 20, and an endportion 28 which fits together with main portion 26 to capture mobilecomputing device 22 therebetween and cause coupler 20 to mate with thecomputing device electrical connector 30.

FIG. 3 illustrates another example of a motion control assembly 10 inwhich motion control device 12 and battery pack 14 are an integralpackage but are separated from mobile computing device 22. In thisexample, coupler 20 is in the form of a plug 32 at the end of a powerand data cable 34.

A detailed description of an example of a motion control device 12 isdescribed below in the section entitled Overview of Machine Sensory andControl Systems. The description starts with a discussion of FIG. 4.

The following examples of methods for reducing battery drain of abattery-powered mobile computing device 22, such as a laptop computer,tablet computer, smart phone, or smart watch, will be described withreference to the examples of FIGS. 1, 2B and 3 but with no intention tolimit the methods to those specific examples.

In some examples, the drain on a battery of a battery-powered mobilecomputing device 22, when used with a motion control device 12, can bereduced in the following manner. A motion control assembly 10,comprising a motion control device 12 and a battery pack 14 as anintegral, one-piece unit, is selected. In some examples, a motioncontrol assembly 10 can be selected in which battery pack 14 is coupledto but separable from motion control device 12, such as by using a plugconnection. The motion control device is capable of being powered by thebattery pack. The motion control device 12 is connected to an electricalconnector 30 of a battery-powered mobile computing device 22. The motioncontrol device 12 is supplied with power from the battery pack 14 duringuse of the motion control device.

In some examples, the drain on a battery of a battery-powered mobilecomputing device 22, when used with a motion control device 12, can bereduced in the following manner. A motion control assembly 10,comprising a motion control device 12 and a battery pack 14, is providedas an integral, one-piece unit. A motion control assembly 10 can also beselected in which battery pack 14 is coupled to but separable frommotion control device 12. The motion control device 12 is capable ofbeing powered by the battery pack 14. A user is instructed to do thefollowing: connect the motion control device 12 to an electricalconnector 30 of a battery-powered mobile computing device 22; and,operate the motion control device 12 with power from the battery pack 14during use of the motion control device.

In some examples, a rechargeable battery pack 14 is selected as thebattery pack. In some examples, energy can be supplied to therechargeable battery pack 14 using at least one of a recharging cable18, a solar panel 19, and an inductive charger 21. In some, generallypreferred, examples the motion control device 12 operates using no powerfrom the mobile computing device 22.

While discussed herein with reference to example embodiments in whichthe battery pack and the motion control device comprise an integral,one-piece unit, it should be appreciated that, as mentioned above, inalternative embodiments, the battery pack can be a separate unitpluggable into the motion control device.

Overview of Machine Sensory and Control Systems

In one embodiment, a motion sensing and controller system provides fordetecting that some variation(s) in one or more portions of interest ofa user has occurred, for determining that an interaction with one ormore machines corresponds to the variation(s), for determining if theinteraction should occur, and, if so, for affecting the interaction. TheMachine Sensory and Control System (MSCS) typically includes a positiondetection system, a variation determination system, an interactionsystem and an application control system.

As FIG. 4 shows, one detection system 90A embodiment includes anemission module 91, a detection module 92, a controller 96, a processingmodule 94 and a machine control module 95. In one embodiment, theemission module includes one or more emitter(s) 180A, 180B (e.g., LEDsor other devices emitting light in the IR, visible, or other spectrumregions, or combinations thereof; radio and/or other electromagneticsignal emitting devices) that are controllable via emitter parameters(e.g., frequency, activation state, firing sequences and/or patterns,etc.) by the controller 96. However, other existing/emerging emissionmechanisms and/or some combination thereof can also be utilized inaccordance with the requirements of a particular implementation. Theemitters 180A, 180B can be individual elements coupled with materials ordevices 182 (and/or materials) (e.g., lenses 182A, multi-lenses 182B (ofFIG. 5), image directing film (IDF) 182C (of FIG. 5), liquid lenses,combinations thereof, and/or others) with varying or variable opticalproperties to direct the emission, one or more arrays 180C of emissiveelements (combined on a die or otherwise), with or without the additionof devices 182C for directing the emission, or combinations thereof, andpositioned within an emission region 181 (of FIG. 5) according to one ormore emitter parameters (i.e., either statically (e.g., fixed, parallel,orthogonal or forming other angles with a work surface, one another or adisplay or other presentation mechanism) or dynamically (e.g., pivot,rotate and/or translate) mounted, embedded (e.g., within a machine ormachinery under control) or otherwise coupleable using an interface(e.g., wired or wireless)). In some embodiments, structured lightingtechniques can provide improved surface feature capture capability bycasting illumination according to a reference pattern onto the object98. Image capture techniques described in further detail herein can beapplied to capture and analyze differences in the reference pattern andthe pattern as reflected by the object 98. In yet further embodiments,detection system 90A may omit emission module 91 altogether (e.g., infavor of ambient lighting).

In one embodiment, the detection module 92 includes one or more capturedevice(s) 190A, 190B (e.g., light (or other electromagnetic radiationsensitive devices) that are controllable via the controller 96. Thecapture device(s) 190A, 190B can comprise individual or multiple arraysof image capture elements 190A (e.g., pixel arrays, CMOS or CCD photosensor arrays, or other imaging arrays) or individual or arrays ofphotosensitive elements 190B (e.g., photodiodes, photo sensors, singledetector arrays, multi-detector arrays, or other configurations of photosensitive elements) or combinations thereof. Arrays of image capturedevice(s) 190C (of FIG. 6) can be interleaved by row (or column or apattern or otherwise addressable singly or in groups). However, otherexisting/emerging detection mechanisms and/or some combination thereofcan also be utilized in accordance with the requirements of a particularimplementation. Capture device(s) 190A, 190B each can include aparticular vantage point 190-1 from which objects 98 within area ofinterest 5 are sensed and can be positioned within a detection region191 (of FIG. 6) according to one or more detector parameters (i.e.,either statically (e.g., fixed, parallel, orthogonal or forming otherangles with a work surface, one another or a display or otherpresentation mechanism) or dynamically (e.g. pivot, rotate and/ortranslate), mounted, embedded (e.g., within a machine or machinery undercontrol) or otherwise coupleable using an interface (e.g., wired orwireless)). Capture devices 190A, 190B can be coupled with devices 192(and/or materials) (of FIG. 6) (e.g., lenses 192A (of FIG. 6),multi-lenses 192B (of FIG. 6), image directing film (IDF) 192C (of FIG.6), liquid lenses, combinations thereof, and/or others) with varying orvariable optical properties for directing the reflectance to the capturedevice for controlling or adjusting resolution, sensitivity and/orcontrast. Capture devices 190A, 190B can be designed or adapted tooperate in the IR, visible, or other spectrum regions, or combinationsthereof; or alternatively operable in conjunction with radio and/orother electromagnetic signal emitting devices in various applications.In an embodiment, capture devices 190A, 190B can capture one or moreimages for sensing objects 98 and capturing information about the object(e.g., position, motion, etc.). In embodiments comprising more than onecapture device, particular vantage points of capture devices 190A, 190Bcan be directed to area of interest 5 so that fields of view 190-2 ofthe capture devices at least partially overlap. Overlap in the fields ofview 190-2 provides capability to employ stereoscopic vision techniques(see, e.g., FIG. 6), including those known in the art to obtaininformation from a plurality of images captured substantiallycontemporaneously.

While illustrated with reference to a particular embodiment in whichcontrol of emission module 91 and detection module 92 are co-locatedwithin a common controller 96, it should be understood that thesefunctions will be separate in some embodiments, and/or incorporated intoone or a plurality of elements comprising emission module 91 and/ordetection module 92 in some embodiments. Controller 96 comprises controllogic (hardware, software or combinations thereof) to conduct selectiveactivation/de-activation of emitter(s) 180A, 180B (and/or control ofactive directing devices) in on-off, or other activation states orcombinations thereof to produce emissions of varying intensities inaccordance with a scan pattern which can be directed to scan an area ofinterest 5. Controller 96 can comprise control logic (hardware, softwareor combinations thereof) to conduct selection, activation and control ofcapture device(s) 190A, 190B (and/or control of active directingdevices) to capture images or otherwise sense differences in reflectanceor other illumination. Signal processing module 94 determines whethercaptured images and/or sensed differences in reflectance and/or othersensor-perceptible phenomena indicate a possible presence of one or moreobjects of interest 98, including control objects 99, the presenceand/or variations thereof can be used to control machines and/or otherapplications 95.

In various embodiments, the variation of one or more portions ofinterest of a user can correspond to a variation of one or moreattributes (position, motion, appearance, surface patterns) of a userhand 99, finger(s), points of interest on the hand 99, facial portion 98other control objects (e.g., styli, tools) and so on (or somecombination thereof) that is detectable by, or directed at, butotherwise occurs independently of the operation of the machine sensoryand control system. Thus, for example, the system is configurable to‘observe’ ordinary user locomotion (e.g., motion, translation,expression, flexing, deformation, and so on), locomotion directed atcontrolling one or more machines (e.g., gesturing, intentionallysystem-directed facial contortion, etc.), attributes thereof (e.g.,rigidity, deformation, fingerprints, veins, pulse rates and/or otherbiometric parameters). In one embodiment, the system provides fordetecting that some variations) in one or more portions of interest(e.g., fingers, fingertips, or other control surface portions) of a userhas occurred, for determining that an interaction with one or moremachines corresponds to the variation(s), for determining if theinteraction should occur, and, if so, for at least one of initiating,conducting, continuing, discontinuing and/or modifying the interactionand/or a corresponding interaction.

For example and with reference to FIG. 7, a variation determinationsystem 90B embodiment comprises a model management module 197 thatprovides functionality to build, modify, customize one or more models torecognize variations in objects, positions, motions and attribute stateand/or change in attribute state (of one or more attributes) fromsensory information obtained from detection system 90A. A motion captureand sensory analyzer 197E finds motions (i.e., translational,rotational), conformations, and presence of objects within sensoryinformation provided by detection system 90A. The findings of motioncapture and sensory analyzer 197E serve as input of sensed (e.g.,observed) information from the environment with which model refiner 197Fcan update predictive information (e.g., models, model portions, modelattributes, etc.).

A model management module 197 embodiment comprises a model refiner 197Fto update one or more models 197B (or portions thereof) from sensoryinformation (e.g., images, scans, other sensory-perceptible phenomenon)and environmental information (i.e., context, noise, etc.); enabling amodel analyzer 197I to recognize object, position, motion and attributeinformation that might be useful in controlling a machine. Model refiner197F employs an object library 197A to manage objects including one ormore models 197B (i.e., of user portions (e.g., hand, face), othercontrol objects (e.g., styli, tools)) or the like (see e.g., model197B-1, 197B-2 of FIGS. 8, 9)), model components (i.e., shapes, 2D modelportions that sum to 3D, outlines 194 and/or outline portions 194A, 194B(i.e., closed curves), attributes 197-5 (e.g., attach points, neighbors,sizes (e.g., length, width, depth), rigidity flexibility, torsionalrotation, degrees of freedom of motion and others) and so forth) (seee.g., 197B-1-197B-2 of FIGS. 8-9), useful to define and update models197B, and model attributes 197-5. While illustrated with reference to aparticular embodiment in which models, model components and attributesare co-located within a common object library 197A, it should beunderstood that these objects will be maintained separately in someembodiments.

FIG. 8 illustrates prediction information including a model 197B-1 of acontrol object (e.g., FIG. 4: 99) constructed from one or more modelsubcomponents 197-2, 197-3 selected and/or configured to represent atleast a portion of a surface of control object 99, a virtual surfaceportion 194 and one or more attributes 197-5. Other components can beincluded in prediction information 197B-1 not shown in FIG. 8 forclarity sake. In an embodiment, the model subcomponents 197-2, 197-3 canbe selected from a set of radial solids, which can reflect at least aportion of a control object 99 in terms of one or more of structure,motion characteristics, conformational characteristics, other types ofcharacteristics of control object 99, and/or combinations thereof. Inone embodiment, radial solids include a contour and a surface defined bya set of points having a fixed distance from the closest correspondingpoint on the contour. Another radial solid embodiment includes a set ofpoints normal to points on a contour and a fixed distance therefrom. Inan embodiment, computational technique(s) for defining the radial solidinclude finding a closest point on the contour and the arbitrary point,then projecting outward the length of the radius of the solid. In anembodiment, such projection can be a vector normal to the contour at theclosest point. An example radial solid (e.g., 197-3) includes a“capsuloid”, i.e., a capsule shaped solid including a cylindrical bodyand semi-spherical ends. Another type of radial solid (e.g., 197-2)includes a sphere. Other types of radial solids can be identified basedon the foregoing teachings.

In an embodiment and with reference to FIGS. 4, 9, updating predictiveinformation to observed information comprises selecting one or more setsof points (e.g., FIG. 9: 193A, 193B) in space surrounding or boundingthe control object within a field of view of one or more image capturedevice(s). As shown by FIG. 9, points 193 can be determined using one ormore sets of lines 195A, 195B, 195C, and 195D originating at vantagepoint(s) (e.g., FIG. 4: 190-1, 190-2) associated with the image capturedevice(s) (e.g., FIG. 4: 190A-1, 190A-2) and determining therefrom oneor more intersection point(s) defining a bounding region (i.e., regionformed by lines FIG. 9: 195A, 195B, 195C, and 195D) surrounding across-section of the control object. The bounding region can be used todefine a virtual surface (FIG. 9: 194) to which model subcomponents197-1, 197-2, 197-3, and 197-4 can be compared. The virtual surface 194can include a visible portion 194A and a non-visible “inferred” portion194B. Virtual surfaces 194 can include straight portions and/or curvedsurface portions of one or more virtual solids (i.e., model portions)determined by model refiner 197F.

For example and according to one embodiment illustrated by FIG. 9, modelrefiner 197F determines to model subcomponent 197-1 of an object portion(happens to be a finger) using a virtual solid, an ellipse in thisillustration, or any of a variety of 3D shapes (e.g., ellipsoid, sphere,or custom shape) and/or 2D slice(s) that are added together to form a 3Dvolume. Accordingly, beginning with generalized equations for an ellipse(1) with (x, y) being the coordinates of a point on the ellipse, (x_(C),y_(C)) the center, a and b the axes, and θ the rotation angle. Thecoefficients C₁, C₂ and C₃ are defined in terms of these parameters, asshown:

$\begin{matrix}{{{{C_{1}x^{2}} + {C_{2}{xy}} + {C_{3}{y^{2}\hat{}\left( {{2C_{1}x_{c}} + {C_{2}y_{c}}} \right)}{x\hat{}\left( {{2C_{3}y_{c}} + {C_{2}x_{c}}} \right)}y} + \left( {{C_{1}x_{c}^{2}} + {C_{2}x_{c}y_{c}} + {C_{3}y_{c}^{2}} - 1} \right)} = 0}\mspace{20mu}{C_{1} = {\frac{\cos^{2}\theta}{a^{2}} + \frac{\sin^{2}\theta}{b^{2}}}}\mspace{20mu}{C_{2} = {{- 2}\cos\;{\theta sin}\;{\theta\left( {\frac{1}{a^{2}} \cdot \frac{1}{b^{2}}} \right)}}}\mspace{20mu}{C_{3} = {\frac{\sin^{2}\theta}{a^{2}} + \frac{\cos^{2}\theta}{b^{2}}}}} & (1)\end{matrix}$

The ellipse equation (1) is solved for θ, subject to the constraintsthat: (1) (x_(C), y_(C)) must lie on the centerline determined from thefour tangents 195A, 195B, 195C, and 195D (i.e., centerline 189A of FIG.9); and (2) a is fixed at the assumed value a₀. The ellipse equation caneither be solved for θ analytically or solved using an iterativenumerical solver (e.g., a Newtonian solver as is known in the art). Ananalytic solution can be obtained by writing an equation for thedistances to the four tangent lines given a y_(C) position, then solvingfor the value of y_(C) that corresponds to the desired radius parametera=a₀. Accordingly, equations (2) for four tangent lines in the x-y plane(of the slice), in which coefficients A_(i), B_(i) and D_(i) (for i=1 to4) are determined from the tangent lines 195A, 195B, 195C, and 195Didentified in an image slice as described above.A ₁ x+B ₁ y+D ₁=0A ₂ x+B ₂ y+D ₂=0A ₃ x+B ₃ y+D ₃=0A ₄ x+B ₄ y+D ₄=0  (2)

Four column vectors r₁₂, r₂₃, r₁₄ and r₂₄ are obtained from thecoefficients A_(i), B_(i) and D_(i) of equations (2) according toequations (3), in which the “\” operator denotes matrix left division,which is defined for a square matrix M and a column vector v such thatM\v=r, where r is the column vector that satisfies Mr=v:

$\begin{matrix}{{r_{13} = {\begin{bmatrix}A_{1} & B_{1} \\A_{3} & B_{3}\end{bmatrix}\;\backslash\;\begin{bmatrix}{- D_{1}} \\{- D_{3}}\end{bmatrix}}}{r_{23} = {\begin{bmatrix}A_{2} & B_{2} \\A_{3} & B_{3}\end{bmatrix}\;\backslash\;\begin{bmatrix}{- D_{21}} \\{- D_{3}}\end{bmatrix}}}{r_{14} = {\begin{bmatrix}A_{1} & B_{1} \\A_{4} & B_{4}\end{bmatrix}\;\backslash\;\begin{bmatrix}{- D_{1}} \\{- D_{4}}\end{bmatrix}}}{r_{24} = {\begin{bmatrix}A_{2} & B_{2} \\A_{4} & B_{4}\end{bmatrix}\;\backslash\;\begin{bmatrix}{- D_{2}} \\{- D_{4}}\end{bmatrix}}}} & (3)\end{matrix}$

Four component vectors G and H are defined in equations (4) from thevectors of tangent coefficients A, B and D and scalar quantities p andq, which are defined using the column vectors r₁₂, r₂₃, r₁₄ and r₂₄ fromequations (3).c1=(r ₁₃ +r ₂₄)/2c2=(r ₁₄ +r ₂₃)/2δ1=c2₁ −c1₁δ2=c2₂ −c1₂p=δ1/δ2q=c1₁ −c1₂ =pG=Ap+BH=Aq+D  (4)

Six scalar quantities v_(A2), v_(AB), v_(B2), w_(A2), w_(AB), and w_(B2)are defined by equation (5) in terms of the components of vectors G andH of equation (4).

$\begin{matrix}{{v = {\begin{bmatrix}G_{2}^{2} & G_{3}^{2} & G_{4}^{2} \\\left( {G_{2}H_{2}} \right)^{2} & \left( {G_{3}H_{3}} \right)^{2} & \left( {G_{4}H_{4}} \right)^{2} \\H_{2}^{2} & H_{3}^{2} & H_{4}^{2}\end{bmatrix}\mspace{11mu}\backslash\;\begin{bmatrix}0 \\0 \\1\end{bmatrix}}}{w = {\begin{bmatrix}G_{2}^{2} & G_{3}^{2} & G_{4}^{2} \\\left( {G_{2}H_{2}} \right)^{2} & \left( {G_{3}H_{3}} \right)^{2} & \left( {G_{4}H_{4}} \right)^{2} \\H_{2}^{2} & H_{3}^{2} & H_{4}^{2}\end{bmatrix}\mspace{11mu}\backslash\;\begin{bmatrix}0 \\1 \\0\end{bmatrix}}}{v_{A\; 2} = {\left( {v_{1}A_{1}} \right)^{2} + \left( {v_{3}A_{2}} \right)^{2} + \left( {v_{3}A_{3}} \right)^{2}}}{v_{A\; B} = {\left( {v_{1}A_{1}B_{1}} \right)^{2} + \left( {v_{2}A_{2}B_{2}} \right)^{2} + \left( {v_{3}A_{3}B_{3}} \right)^{2}}}{v_{B\; 2} = {\left( {v_{1}B_{1}} \right)^{2} + \left( {v_{2}B_{2}} \right)^{2} + \left( {v_{3}B_{3}} \right)^{2}}}{w_{A\; 2} = {\left( {w_{1}A_{1}} \right)^{2} + \left( {w_{2}A_{2}} \right)^{2} + \left( {w_{3}A_{3}} \right)^{2}}}{w_{A\; B} = {\left( {w_{1}A_{1}B_{1}} \right)^{2} + \left( {w_{2}A_{2}B_{2}} \right)^{2} + \left( {w_{3}A_{3}B_{3}} \right)^{2}}}{w_{B\; 2} = {\left( {w_{1}B_{1}} \right)^{2} + \left( {w_{2}B_{2}} \right)^{2} + \left( {w_{3}B_{3}} \right)^{2}}}} & (5)\end{matrix}$

Using the parameters defined in equations (1)-(5), solving for θ isaccomplished by solving the eighth-degree polynomial equation (6) for t,where the coefficients Q_(i) (for i=0 to 8) are defined as shown inequations (7)-(15).0=Q ₈ t ⁸ +Q ₇ t ⁷ +Q ₆ t ⁶ Q ₅ t ⁵ +Q ₄ t ⁴ +Q ₃ t ³ +Q ₂ t ² +Q ₁ t+Q₀  (6)

The parameters A₁, B₁, G₁, H₁, v_(A2), v_(AB), v_(B2), w_(A2), w_(AB),and w_(B2) used in equations (7)-(15) are defined as shown in equations(1)-(4). The parameter n is the assumed semi-major axis (in other words,a₀). Once the real roots t are known, the possible values of θ aredefined as θ=atan(t).Q ₈=4A ₁ ² n ² v ² _(B2)+4v _(B2) B ₁ ²(1−n ² v _(A2))−(G ₁(1−n ² v_(A2))w _(B2) +n ² v _(B2) w _(A2)+2H ₁ v _(B2))²  (7)Q ₇=−(2(2n ² v _(AB) w _(A2)+4H ₁ v _(AB)+2G ₁ n ² v _(AB) w _(B2)+2G₁(1−n ² v _(A2))w _(AB)))(G ₁(1−n ² v _(A2))w _(B2) +n ² v _(B2) w_(A2)+2H ₁ v _(B2))−8A ₁ B ₁ n ² v _(B2) ²+16A ₁ ² n ² v _(AB) v_(B2)+(4(2A ₁ B ₁(1−n ² v _(A2))+2B ₁ ² n ² v _(AB)))v _(B2)+8B ₁ ²(1−n² v _(A2))v _(AB)  (8)Q ₆=−(2(2H ₁ v _(B2)+2H ₁ v _(A2) +n ² v _(A2) w _(A2) +n ² v _(B2)(−2w_(AB) +w _(B2))+G ₁(n ² v _(B2)+1)w _(B2)+4G ₁ n ² v _(AB) w _(AB) +G₁(1−n ² v _(A2))v _(A2)))×(G ₁(1−n ² v _(A2))w _(B2) +n ² v _(B2) w_(A2)+2H ₁ v _(B2))−(2n ² v _(AB) w _(A2)+4H ₁ v _(AB)+2G ₁ n ² v _(AB)w _(B2)+2G ₁(1−n ² v _(A2))w _(AB))²+4B ₁ ² n ² v _(B2) ²−32A ₁ B ₁ n ²v _(AB) v _(B2)+4A ₁ ² n ²(2v _(A2) w _(B2)+4v _(AB) ²)+4A ₁ ² n ² v_(B2) ²+(4(A ₁ ²(1−n ² v _(A2))+4A ₁ B ₁ n ² v _(AB) +B ₁ ²(−n ² v_(B2)+1)+B ₁ ²(1−n ² v _(A2))))v _(B2)+(8(2A ₁ B ₂(1−n ² v _(A2))+2B ₁ ²n ² v _(AB)))v _(AB)+4B ₁ ²(1−n ² v _(A2))v _(A2)  (9)Q ₅=−(2(4H ₁ v _(AB)+2G ₁(−n ² v _(B2)+1)w _(A8)+2G ₁ n ² v _(AB) v_(A2)+2n ² v _(A)(−2w _(AB) +w _(B2))))(G ₁(1−n ² v _(A2))w _(B2) +n ² v_(B2) +n ² v _(B2) w _(A2)+2H ₁ v _(B2))−(2(2H ₁ v _(B2)+2H ₁ v _(A2) +n² v _(A2) w _(A2) +n ² v _(B2)(−2w _(AB) +w _(B2))+G ₁(−n ² v _(B2)+1)w_(B2)+4G ₁ n ² v _(AB) w _(AB) +G ₁(1−n ² v _(A2))v _(A2)))×(2n ² v_(AB) w _(A2)+4H ₁ v _(AB)+2G ₁ n ² v _(AB) w _(B2)+2G ₁(1−n ² v _(A2))w_(AB))+16B ₁ ² n ² v _(AB) v _(B2)−8A ₁ B ₁ n ²(2v _(A2) v _(B2)+4v_(AB) ²)+16A ₁ ² n ² v _(A2) v _(AB)−8A ₁ B ₁ n ² v _(B2) ²+16A ₁ ² n ²v _(AB) v _(B2)+(4(2A ₁ ² n ² v _(AB)+2A ₁ B ₁(−n ² v _(B2)+1)+2A ₁ B₁(1−n ² v _(A2))+2B ₁ ² n ² v _(AB)))v _(B2)+(8(A ₁ ²(1−n ² v _(A2))+4A₁ B ₁ n ² v _(AB) +B ₁ ²(−n ² v _(B2)+1)+B ₁ ²(1−n ² v _(A2))))v_(AB)+(4(2A ₁ B ₁(1−n ² v _(A2))+2B ₁ ² n ² v _(AB)))v _(A2)  (10)Q ₄=(4(A ₁ ²(−n ² v _(B2))+A ₁ ²(1−n ² v _(A2))+4A ₁ B ₁ n ² v _(AB) +B₁ ²(−n ² v _(B2)+1)))v _(B2)+(8(2A ₁ ² n ² v _(AB)+2A ₁ B ₁(−n ² v_(B2)+1)+2A ₁ b ₁(1−n ² v _(A2))+2B ₁ ² n ² v _(AB)))v _(AB)+(4(A ₁²(1−n ² v _(A2))+4A ₁ B ₁ n ² v _(AB) +B ₁ ²(−n ² v _(B2)+1)+B ₁ ²(1−n ²v _(A2))))v _(A2)+4B ₁ ² n ²(2v _(A2) v _(B2)+4v _(AB) ²)−32A ₁ B ₁ n ²v _(A2) V _(AB)+4A ₁ ² n ² v _(A2) ²+4B ₁ ² n ² v _(B2) ²−32A ₁ B ₁ n ²v _(AB) v _(B2)+4A ₁ ² n ²(2v _(A2) v _(B2)′4v _(AB) ²)−(2(G ₁(−n ² v_(B2)+1)v _(A2) +n ² v _(A2)(−2w _(AB) +w _(B2))+2H ₁ v _(A2)))(G ₁)(1−n² v _(A2))w _(B2) +n ² v _(B2) w _(A2)+2H ₁ v _(B2))−(2(4H ₁ v _(AB)+2G₁(−n ² v _(B2)+1)w _(AB)+2G ₁ n ² v _(AB) v _(A2)+2n ² v _(AB)(−2w _(AB)+w _(B2))))×(2n ² v _(AB) w _(A2)+4H ₁ v _(AB)+2G ₁ n ² v _(AB) w_(B2)+2G ₁(1−n ² v _(A2))w _(AB))−(2H ₁ v _(B2)+2H ₁ v _(A2) +n ² v_(A2) w _(A2) +n ² v _(B2)(−2w _(AB) +w _(B2))+G ₁(−n ² v _(B2)+1)w_(B2)+4G ₁ n ² v _(AB) w _(AB) +G ₁(1−n ² v _(A2))v _(A2))²  (11)Q ₃=−(2(G ₁(−n ² v _(B2)+1)v _(A2) +n ² v _(A2)(−2w _(AB) +w _(B2))+2H ₁v _(A2)))(2n ² v _(AB) w _(A2)+4H ₁ v _(AB)+2G ₁ n ² v _(AB) w _(B2)+2G₁(1−n ² v _(A2))w _(AB))−(2(4H ₁ v _(AB)+2G ₁(−n ² v _(B2)+1)w _(AB)+2G₁ n ² v _(AB) v _(A2)+2n ² v _(AB)(−2w _(AB) +w _(B2))))×(2H ₁ v_(B2)+2H ₁ v _(A2) +n ² v _(A2) w _(A2) +n ² v _(B2)(−2w _(AB) +w_(B2))+G ₁(−n ² v _(B2)+1)w _(B2)+4G ₁ n ² v _(AB) w _(AB) +G ₁(1−n ² v_(A2))v _(A2))+16B ₁ ² n ² v _(A2) v _(AB)−8A ₁ B ₁ n ² v _(A2) ²+16B ₁² n ² v _(AB) v _(B2)−8A ₁ B ₁ n ²(2v _(A2) v _(B2)+4v _(AB) ²)+16A ₁ ²n ² v _(A2) v _(AB)+(4(2A ₁ ² n ² v _(AB)+2A ₁ B ₁(−n ² v _(B2)+1)))v_(B2)+(8(A ₁ ²(−n ² v _(B2)+1)+A ₁ ²(1−n ² v _(A2))+4A ₁ B ₁ n ² v _(AB)+B ₁(−n ² v _(B2)+1)))v _(AB)+(4(2A ₁ ² N ² v _(AB)+2A ₁ B ₁(−n ² v_(B2)+1)+2A ₁ B ₁(1−n ² v _(A2))+2B ₁ ² n ² v _(AB)))v _(A2)  (12)Q ₂=4A ₁ ²(−n ² v _(B2)+1)v _(B2)+(8(2A ₁ ² n ² v _(AB)+2A ₁ B ₁(−n ² v_(B2)+1)))v _(AB)+(4(A ₁ ²(−n ² v _(B2)+1)+A ₁ ²(1−n ² v _(A2))+4A ₁ B ₁n ² v _(AB) +B ₁ ²(−n ² v _(B2)+1)))v _(A2)+4B ₁ ² n ² v _(A2) ²+4B ₁ ²n ²(2v _(A2) v _(B2)+4v _(AB) ²)−32A ₁ B ₁ n ² v _(A2) v _(AB)+4A ₁ ² n² v _(A2) ²−(2(G ₁(−n ² v _(B2)+1)v _(A2) +n ² v _(A2)(−2w _(AB) +w_(B2))+2H ₁ v _(A2)))×(2H ₁ v _(B2)+2H ₁ v _(A2) +n ² v _(A2) w _(A2) +n² v _(B2)(−2w _(AB) +w _(B2))+G ₁(−n ² v _(B2)+1)w _(B2)+4G ₁ n ² v_(AB) w _(AB) +G ₁(1−n ² v _(A2))v _(A2))−(4H ₁ v _(AB)+2G ₁(−n ² v_(B2)+1)w _(AB)+2G ₁ n ² v _(AB) v _(A2)+2n ² v _(AB)(−2w _(AB) +w_(B2)))²  (13)Q ₁=8A ₁ ²(−n ² v _(B2)+1)v _(AB)+(4(2A ₁ ² n ² v _(AB)+2A ₁ B ₁(−n ² v_(B2)+1)))v _(A2)+16B ₁ ² n ² v _(A2) v _(AB)−8A ₁ B ₂ n ² v ²_(A2)−(2(G ₁(−n ² v _(B2)+1)v _(A2) +n ² v _(A2)(−2w _(AB) +w _(B2))+2H₁ v _(AB)+2G ₁(−n ² v _(B2)+1)w _(AB)+2G ₁ n ² v _(AB) v _(A2)+2n ² v_(AB)(−2w _(AB) +w _(B2)))  (14Q ₀=4A ₁ ²(−n ² v _(B2)+1)v _(A2)−(G ₁(−n ² v _(B2)+1)v _(A2) +n ² v_(A2)(−2w _(AB) +w _(B2))+2H ₁ v _(A2))²+4B ₁ ² n ² v ² _(A2)  (15)

In this exemplary embodiment, equations (6)-(15) have at most three realroots; thus, for any four tangent lines, there are at most threepossible ellipses that are tangent to all four lines and that satisfythe a=a₀ constraint. (In some instances, there may be fewer than threereal roots.) For each real root θ, the corresponding values of (x_(C),y_(C)) and b can be readily determined. Depending on the particularinputs, zero or more solutions will be obtained; for example, in someinstances, three solutions can be obtained for a typical configurationof tangents. Each solution is completely characterized by the parameters{θ, a=a₀, b, (x_(C), y_(C))}. Alternatively, or additionally, a modelbuilder 197C and model updater 197D provide functionality to define,build and/or customize model(s) 197B using one or more components inobject library 197A. Once built, model refiner 197F updates and refinesthe model, bringing the predictive information of the model in line withobserved information from the detection system 90A.

The model subcomponents 197-1, 197-2, 197-3, and 197-4 can be scaled,sized, selected, rotated, translated, moved, or otherwise re-ordered toenable portions of the model corresponding to the virtual surface(s) toconform within the points 193 in space. Model refiner 197F employs avariation detector 197G to substantially continuously determinedifferences between sensed information and predictive information andprovide to model refiner 197F a variance useful to adjust the model 197Baccordingly. Variation detector 197G and model refiner 197F are furtherenabled to correlate among model portions to preserve continuity withcharacteristic information of a corresponding object being modeled,continuity in motion, and/or continuity in deformation, conformationand/or torsional rotations.

An environmental filter 197H reduces extraneous noise in sensedinformation received from the detection system 90A using environmentalinformation to eliminate extraneous elements from the sensoryinformation. Environmental filter 197H employs contrast enhancement,subtraction of a difference image from an image, software filtering, andbackground subtraction (using background information provided by objectsof interest determiner 198H (see below) to enable model refiner 197F tobuild, refine, manage and maintain model(s) 197B of objects of interestfrom which control inputs can be determined. Further, environmentalfilter 197H can provide environmental information such as input powerlevels and power source types, external equipment types andconfigurations, and so forth to command engine 199F via model refiner197F and objects of interest determiner 198H to enable the system to (i)adjust its operations based upon power available, external equipmentavailable and or other environmental factors, and (ii) adapt itsdetection of objects to these environmental factors.

A model analyzer 197I determines that a reconstructed shape of a sensedobject portion matches an object model in an object library; andinterprets the reconstructed shape (and/or variations thereon) as userinput. Model analyzer 197I provides output in the form of object,position, motion and attribute information to an interaction system 90C.

Again with reference to FIG. 7, an interaction system 90C includes aninteraction interpretation module 198 that provides functionality torecognize command and other information from object, position, motionand attribute information obtained from variation system 90B. Aninteraction interpretation module 198 embodiment comprises a recognitionengine 198F to recognize command information such as command inputs(i.e., gestures and/or other command inputs (e.g., speech, etc.)),related information (i.e., biometrics), environmental information (i.e.,context, noise, etc.) and other information discernible from the object,position, motion and attribute information that might be useful incontrolling a machine. Recognition engine 198F employs gestureproperties 198A (e.g., path, velocity, acceleration, etc.), controlobjects determined from the object, position, motion and attributeinformation by an objects of interest determiner 198H and optionally oneor more virtual constructs 198B (see e.g., FIGS. 10, 11: 198B-1, 198B-2)to recognize variations in control object presence or motion indicatingcommand information, related information, environmental information andother information discernible from the object, position, motion andattribute information that might be useful in controlling a machine.With reference to FIG. 10, 11, virtual construct 198B-1, 198B-2implement an engagement target with which a control object 99interacts—enabling MSCS 189 to discern variations in control object(i.e., motions into, out of or relative to virtual construct 198B) asindicating control or other useful information. A gesture trainer 198Cand gesture properties extractor 198D provide functionality to define,build and/or customize gesture properties 198A.

A context determiner 198G and object of interest determiner 198H providefunctionality to determine from the object, position, motion andattribute information objects of interest (e.g., control objects, orother objects to be modeled and analyzed), objects not of interest(e.g., background) based upon a detected context. For example, when thecontext is determined to be an identification context, a human face willbe determined to be an object of interest to the system and will bedetermined to be a control object. On the other hand, when the contextis determined to be a fingertip control context, the finger tips will bedetermined to be object(s) of interest and will be determined to be acontrol objects whereas the user's face will be determined not to be anobject of interest (i.e., background). Further, when the context isdetermined to be a styli (or other tool) held in the fingers of theuser, the tool tip will be determined to be object of interest and acontrol object whereas the user's fingertips might be determined not tobe objects of interest (i.e., background). Background objects can beincluded in the environmental information provided to environmentalfilter 197H of model management module 197. The device can detect (FIG.7, object of interest determiner 198H) when low power condition exists(e.g., based on detected objects/background) and provide thisinformation as related context to command engine 199F (see FIG. 7) thatprovides emission/detection control to emission module 91, and detectionmodule 92 (of FIG. 4). In lower power mode(s) the emission detectionmodules 91, 92 simply draw lesser amounts of current than when underhigher load. Low power modes are indicated e.g., when few objects beingtracked, or an object being tracked that does not require high lightinglevels (and hence does not require high current drain to power the highlighting levels). Further, environmental filter 197H can provideenvironmental information such as input power levels and power sourcetypes, external equipment types and configurations, and so forth tocommand engine 199F via model refiner 197F and objects of interestdeterminer 198H to enable the system to (i) adjust its operations basedupon power available, external equipment available and or otherenvironmental factors, and (ii) adapt its detection of objects to theseenvironmental factors.

A virtual environment manager 198E provides creation, selection,modification and de-selection of one or more virtual constructs 198B(see FIGS. 10, 11 In some embodiments, virtual constructs (e.g., avirtual object defined in space; such that variations in real objectsrelative to the virtual construct, when detected, can be interpreted forcontrol or other purposes (see FIGS. 10, 11)) are used to determinevariations (i.e., virtual “contact” with the virtual construct, breakingof virtual contact, motion relative to a construct portion, etc.) to beinterpreted as engagements, dis-engagements, motions relative to theconstruct(s), and so forth, enabling the system to interpret pinches,pokes and grabs, and so forth. Interaction interpretation module 198provides as output the command information, related information andother information discernible from the object, position, motion andattribute information that might be useful in controlling a machine fromrecognition engine 198F to an application control system 90D.

Further with reference to FIG. 7, an application control system 90Dincludes a control module 199 that provides functionality to determineand authorize commands based upon the command and other informationobtained from interaction system 90C.

A control module 199 embodiment comprises a command engine 199F todetermine whether to issue command(s) and what command(s) to issue basedupon the command information, related information and other informationdiscernible from the object, position, motion and attribute information,as received from an interaction interpretation module 198. Commandengine 199F employs command/control repository 199A (e.g., applicationcommands, OS commands, commands to MSCS, misc. commands) and relatedinformation indicating context received from the interactioninterpretation module 198 to determine one or more commandscorresponding to the gestures, context, etc. indicated by the commandinformation. For example, engagement gestures can be mapped to one ormore controls, or a control-less screen location, of a presentationdevice associated with a machine under control. Controls can includeimbedded controls (e.g., sliders, buttons, and other control objects inan application), or environmental level controls (e.g., windowingcontrols, scrolls within a window, and other controls affecting thecontrol environment). In embodiments, controls may be displayed using 2Dpresentations (e.g., a cursor, cross-hairs, icon, graphicalrepresentation of the control object, or other displayable object) ondisplay screens and/or presented in 3D forms using holography,projectors or other mechanisms for creating 3D presentations, or audible(e.g., mapped to sounds, or other mechanisms for conveying audibleinformation) and/or touchable via haptic techniques.

Further, an authorization engine 199G employs biometric profiles 199B(e.g., users, identification information, privileges, etc.) andbiometric information received from the interaction interpretationmodule 198 to determine whether commands and/or controls determined bythe command engine 199F are authorized. A command builder 199C andbiometric profile builder 199D provide functionality to define, buildand/or customize command/control repository 199A and biometric profiles199B.

Selected authorized commands are provided to machine(s) under control(i.e., “client”) via interface layer 196. Commands/controls to thevirtual environment (i.e., interaction control) are provided to virtualenvironment manager 198E. Commands/controls to the emission/detectionsystems (i.e., sensory control) are provided to emission module 91and/or detection module 92 as appropriate.

In various embodiments and with reference to FIGS. 10, 11, a MachineSensory Controller System 189 can be embodied as a standalone unit(s)189-1 coupleable via an interface (e.g., wired or wireless)), embedded(e.g., within a machine 188-1, 188-2 or machinery under control) (e.g.,FIG. 10: 189-2, 189-3, FIG. 11: 189B) or combinations thereof.

FIG. 12 illustrates a flowchart of an example drain reducing method 1200in an embodiment. The method can include determining environmentalinformation, comprising an input power level, such as provided bybattery pack 14, and power source type, such as one or more of arecharging cable 18, solar panel 19, or inductive charger 21 (block1210). The method also includes determining (block 1220) whether a lowpower required condition exists. If so, provide (block 1230)instructions, by a command engine of the motion control assembly, to atleast one of an emission module and a detection module of the motioncontrol assembly indicating a low power mode of operation is to beentered. The environmental information, comprising an input power leveland power source type, can be provided (block 1240) to the commandengine. Detection of objects can be adapted (block 1250) to at least oneof an input power level and a power source type. For example, in oneembodiment, adapting includes driving illumination sources in theemission module with less power, or for lesser amounts of time, toreduce power consumption. In another embodiment, adapting includes thedetection module performs object detection on objects sufficiently large(e.g., number of pixels in an image for example) to meet a threshold,thereby conserving power to the processor. In a yet further embodiment,adapting includes reducing frame or capture rates of camera(s) or othersensor(s) in the detection module, thereby trading accuracy for reducingpower consumption. In a still yet further embodiment, the environmentalfilter can monitor power levels of both battery pack 14 and internalpower source of the mobile computing device 22. The command engine canbe instructed to “borrow” power from the internal power source of themobile computing device 22 in instances where more power is needed andpower conserving mechanisms described above have either all beenimplemented or cannot be implemented because ambient conditions do notpermit the device to operate correctly when implemented (e.g., room toobright to reduce illumination sources, fine gestures unable to bedetected with lower accuracy frame rates, etc.).

While the present invention is disclosed by reference to the preferredembodiments and examples detailed above, it is to be understood thatthese examples are intended in an illustrative rather than in a limitingsense. It is contemplated that modifications and combinations will occurto those skilled in the art, which modifications and combinations willbe within the spirit of the invention and the scope of the followingclaims.

Any and all patents, patent applications and printed publicationsreferred to above are incorporated by reference.

What is claimed is:
 1. A method for reducing a drain on a battery of abattery-powered motion control assembly when used with a mobilecomputing device, the battery-powered motion control assembly comprisinga motion control device and a battery pack, the motion control devicebeing capable of being powered by the battery pack, the motion controldevice comprising an illumination source and a sensor, the methodcomprising: determining sensed input power information including aninput power level; and determining from the sensed input powerinformation whether a low power required condition exists, and wheneverthe low power required condition exists: provide the motion controldevice with instructions indicating a low power mode of operation is tobe entered; further provide to the motion control device the sensedinput power information including the input power level; adapt detectionof objects by the motion control device to conditions indicated in thesensed input power information including the input power level; andwherein the adapt detection of objects comprises performing objectdetection on objects sufficiently large to meet a threshold therebyreducing power consumption.
 2. The method according to claim 1, whereinthe low power required condition determining comprises accessing powerinformation from the mobile computing device and from thebattery-powered motion control assembly.
 3. The method according toclaim 1, wherein: the sensed input power information determining furthercomprises determining a power type; and the sensed input powerinformation provided to the motion control device further comprises thepower type.
 4. The method according to claim 1, wherein the adaptdetection of objects comprises driving the illumination source with lesspower and/or for lesser amounts of time to reduce power consumption. 5.The method according to claim 1, wherein the adapt detection of objectscomprises reducing a capture rate of the sensor thereby reducing powerconsumption.
 6. The method according to claim 1, wherein the adaptdetection of objects comprises using power from the mobile computingdevice by the motion control device.